#!/usr/bin/env python
# -*- coding: UTF-8 -*-
"""
@Project ：python常用模块库 
@File ：memory_manager.py
@IDE  ：PyCharm 
@Author ：李涵彬
@Date ：2025/2/20 上午12:49 
"""

from .memory_block import MemoryBlock


class MemoryManager:
	"""共享内存的管理器，负责协调内存块操作。

	Args:
		name (str): 共享内存名称。
		size (int): 内存大小。
		create (bool): 是否创建新内存。
	"""

	def __init__(self, name: str, size: int, create: bool = True) -> None:
		self.block = MemoryBlock(name, size, create)

	def write(self, data: bytes, offset: int = 0) -> None:
		"""写入数据到内存块。"""
		self.block.write(data, offset)

	def read(self, offset: int = 0, size: int = None) -> bytes:
		"""从内存块读取数据。"""
		return self.block.read(offset, size)

	def close(self) -> None:
		"""关闭内存管理器。"""
		self.block.close()

	def unlink(self) -> None:
		"""删除内存资源。"""
		self.block.unlink()
